// function fn(a) {
//   console.log(a);
//   var a = 123
//   console.log(a);
//   function a() {}
//   var b = function() {}
//   console.log(b);
//   function c() {}
//   var c = a
//   console.log(c);
// }
// fn(1)

// var c
// function c(){}
// var b
// function a(){}
// var a
// console.log(a);  undefined
// a=123
// console.log(a);  123
// b =function(){}
// console.log(b);   function(){}
// c=a
//  console.log(c);   123

function foo(a, b) {
  console.log(a);//1
  c = 0
  var c;                   
  a = 3
  b = 2
  console.log(b);//2
  function b() {}
  console.log(b);//2
}
foo(1)

// ao{a=1  c:undefined b=f b(){} }
// 
// 
// 
// 
// 
// 
// 
// 
